package com.thinkcube.edutainment.client;

import org.androidannotations.annotations.rest.Accept;
import org.androidannotations.annotations.rest.Post;
import org.androidannotations.annotations.rest.Rest;
import org.androidannotations.api.rest.MediaType;
import org.springframework.http.converter.FormHttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;

import com.thinkcube.edutainment.EdutainmentConstant;
import com.thinkcube.edutainment.domain.Glossary;

/**
 * shanuka gayashan @Cyberlmj 2:06:25 AM Email: shanuka.gayashan@cyberlmj.com
 */
@Rest(rootUrl = EdutainmentConstant.ROOT_URL, converters = {
	FormHttpMessageConverter.class, StringHttpMessageConverter.class,
	MappingJackson2HttpMessageConverter.class } ,interceptors = { ThinkcubeInterceptor.class })
public interface GlossaryClient {
    /**
     * 
     * @param formfields
     *            auth_token limit filter_by{ featured top_rated latest
     *            recommended}
     * @return
     * @throws RestClientException
     * 
     */
    @Post("/api/glossary/get-terms")
    @Accept(MediaType.APPLICATION_JSON)
    Glossary getGlossary(MultiValueMap formfields)
	    throws RestClientException;

    
    
}
